home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / idlelib / dynOptionMenuWidget.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  2KB  |  43 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. '''
  5. OptionMenu widget modified to allow dynamic menu reconfiguration
  6. and setting of highlightthickness
  7. '''
  8. from Tkinter import OptionMenu
  9. from Tkinter import _setit
  10. import copy
  11.  
  12. class DynOptionMenu(OptionMenu):
  13.     '''
  14.     unlike OptionMenu, our kwargs can include highlightthickness
  15.     '''
  16.     
  17.     def __init__(self, master, variable, value, *values, **kwargs):
  18.         kwargsCopy = copy.copy(kwargs)
  19.         if 'highlightthickness' in kwargs.keys():
  20.             del kwargs['highlightthickness']
  21.         
  22.         OptionMenu.__init__(self, master, variable, value, *values, **kwargs)
  23.         self.config(highlightthickness = kwargsCopy.get('highlightthickness'))
  24.         self.variable = variable
  25.         self.command = kwargs.get('command')
  26.  
  27.     
  28.     def SetMenu(self, valueList, value = None):
  29.         """
  30.         clear and reload the menu with a new set of options.
  31.         valueList - list of new options
  32.         value - initial value to set the optionmenu's menubutton to
  33.         """
  34.         self['menu'].delete(0, 'end')
  35.         for item in valueList:
  36.             self['menu'].add_command(label = item, command = _setit(self.variable, item, self.command))
  37.         
  38.         if value:
  39.             self.variable.set(value)
  40.         
  41.  
  42.  
  43.